USD をビルドする
https://gyazo.com/4b30f220b141117fad0b845eb5cd31b5
Nvidia が配布していたり Fedora であれば dnf install できるが, 自分で USD をビルドすることもある System
OS: Fedora release 36 (Thirty Six) x86_64
Kernel: 5.18.17-200.fc36.x86_64
GPU: NVIDIA GeForce RTX 2080 Ti Rev. A
Clone USD
$ cd USD
Install Python
現在は Python 3.6.8 なので python3.6 をインストールする
$ sudo dnf install python3.6
$ python3.6 -m ensurepip --upgrade
Install Python modules (for usdview, etc..)
usdview のビルドに PySide6, PyOpenGL (と Jinja2) が必要なのでインストール $ python3.6 -m pip install --upgrade pip
$ python3.6 -m pip install PySide6 PyOpenGL Jinja2
build
$ python3.6 ./build_scripts/build_usd.py ./build/
https://gyazo.com/5ff8833de4e386664a96c9372c97b46a
Success! と出たら OK
usdview で起動確認
System の Path が通っていないところにビルドしたので以下のような起動スクリプトで確認する
code:sh
# Set build path
USDROOT=/home/minami/Documents/USD/build
export "PYTHONPATH=${USDROOT}/lib/python:${PYTHON}"
export "PATH=${USDROOT}/bin:${PATH}"
export "LD_LIBRARY_PATH=${USDROOT}/lib:${USDROOT}/lib64:${LD_LIBRARY_PATH}"
# Run usdview
usdview /home/minami/Desktop/mtlxchallange/mtlxchallange.usda
問題なく起動したら System の Path に通したりなどをやる
追加で Plugin を入れたものをビルドする
まず USD 自体がビルドできることを確認したうえで追加の Plugin を入れていく
Plugin でコケることがおおい印象なのでなるべく一つづつ増やしていくとよい
$ python3.6 ./build_scripts/build_usd.py --no-examples --no-tutorials --openimageio --opencolorio --materialx ./build/
プラグインを追加する場合は build_usd.py に上記のような引数を指定する
--help でどのような引数があるかを確認できる
Plugin の有無で boost のビルドするモジュールが変わったりするので毎回 Cleanup してビルドしたほうが良い
コケたときのログの見方
fatal で grep すれば落ちてる原因が確認できる
自分の環境の例
MaterialX を追加でビルドしてみると, 自分の環境では以下のパッケージが必要だった $ sudo dnf install libXml-devel
OpenImageIO を追加でビルドすると, Boost のバージョンが 1.70.0 ではコンパイルに失敗するので 1.76.0 に変更した Refs